package com.cw.carwashstoress.mapper;

import java.util.List;
import com.cw.carwashstoress.domain.Store;
import org.apache.ibatis.annotations.Param;

/**
 * 门店管理 数据层
 */
public interface StoreMapper {
    /**
     * 查询门店列表
     * 
     * @param store 门店信息
     * @return 门店列表
     */
    List<Store> selectStoreList(Store store);

    /**
     * 查询门店详细信息
     * 
     * @param id 门店ID
     * @return 门店信息
     */
    Store selectStoreById(Long id);

    /**
     * 查询子门店
     * 
     * @param id 门店ID
     * @return 子门店列表
     */
    List<Store> selectChildrenStoreById(Long id);

    /**
     * 新增门店
     * 
     * @param store 门店信息
     * @return 结果
     */
    int insertStore(Store store);

    /**
     * 修改门店
     * 
     * @param store 门店信息
     * @return 结果
     */
    int updateStore(Store store);

    /**
     * 删除门店信息
     * 
     * @param id 门店ID
     * @return 结果
     */
    int deleteStoreById(Long id);

    /**
     * 批量删除门店信息
     * 
     * @param ids 需要删除的门店ID数组
     * @return 结果
     */
    int deleteStoreByIds(Long[] ids);

    /**
     * 校验门店是否已存在
     * 
     * @param storeName 门店名称
     * @param cityId 城市ID
     * @return 结果
     */
    Store checkStoreNameUnique(@Param("storeName") String storeName, @Param("cityId") Integer cityId, @Param("id") Long id);

}
